1. Field of the Invention
The present invention relates to a network protocol which may be employed to facilitate communication between processing nodes such as nodes responsible for control of and communication with devices.
2. Prior Art
Any number of network communication protocols are known in the art. A number of protocols have become "standards" in the industry either because of adoption by the various standards boards such as the American National Standards Institute (ANSI) or because of their commercial acceptance or both. Other communication protocols are proprietary in nature although in many instances such protocols have gained widespread commercial acceptance. Examples of known network communication protocols include Recommendation X.xx from the International Consultative Committee for Telephony and Telegraphy (CCITT) (e.g. X.21, X.25, etc.); High Level Data Link Control (HDLC); EHKP4; IBM's Systems Network Architecture (SNA); DEC's Distributed Network Architecture (DECNET); Univac's Distributed Communication Architecture (DCA); and Burroughs Network Architecture. The above-referenced protocols are described in greater detail with reference to Anton Meijer and Paul Peters, Computer Network Architectures, Computer Science Press, 1982.
Many of these communication protocols may be characterized as following the Reference Model of Open Systems Interconnection, defined by the International Standards Organization (ISO) and described in greater detail with reference International Standards Organization, ISO/TC97:Information processing system. Open Systems Interconnection-Basic Reference Model, Draft International Standard ICO/DIS 7498, April 1982 which reference is reproduced as Appendix A in Meijer.
The Reference Model defines a layered approach to communication architectures; specifically seven (7) layers are defined and may be identified, with reference to Table I, as follows:
TABLE I ______________________________________ Level # Layer ______________________________________ 7 Application Layer 6 Presentation Layer 5 Session Layer 4 Transport Layer 3 Network Layer 2 Data Link Layer 1 Physical Layer ______________________________________
The Application layer may be generally described as being responsible for processing information being exchanged between nodes in the network. The Presentation layer provides transparency between nodes in the network allowing for such functions as performing session establishment requests; presentation of data from a message packet; code conversion; compression/expansion of redundant data; and performing session termination requests. The Session layer provides for establishment of the relation between two nodes; maintains the integrity of the relation; and controls data exchange between the two nodes. The Transport layer is responsible for creation of a transport pipeline between the two nodes and performs the functions of breaking messages into packets; reassembling messages at the destination node; and applying flow control to the packet stream. The Network layer is responsible for creation and maintenance of a route in the network between the source node and destination node. The route may be a sequence of nodes and transmission links, e.g., telephone lines, communication cabling, etc. The Data Link layer ensures uncorrupted delivery of the data independent of the actual physical transmission medium utilized. Finally, the Physical layer comprises the actual physical devices and medium necessary to perform transmission of information.
More recently, standards and protocols have been produced for communication in local area networks (LANs). In addition to the above-described layers, many LANs include a sublayer known as the Medium Access Control (MAC) sublayer which is responsible for determining which node is allowed access to a channel when there is competition for the channel. The MAC sublayer is typically thought of as being the upper portion of the Physical layer (Layer 1) and is sometimes referred to as Layer 1.5. One set of standards dealing with communication protocols for LANs has been defined by the IEEE known collectively as IEEE 802. This set of standards has been adopted by ANSI, by the National Bureau of Standards, and by ISO (known as ISO 8802). Part 802.3 of the IEEE standard describes Carder Sense Multiple Access with Collision Detection (CSMA/CD) protocols for LANs. This Part 802.3 is described in greater detail with reference to Andrew S. Tanenbaum, Computer Networks, Second Edition, Prentice-Hall, Inc., 1988.
In addition to describing the Part 802.3 standard, Tanenbaum describes several CSMA protocols. In any CSMA protocol it is an objective to allow for minimizing delays before transmission of information onto a channel and to allow for minimizing collisions of data on the channel. Various protocols are known and in each case there is a tradeoff between minimizing delays and minimizing collisions. Below, in Table II, is summarized several protocols and their various performance tradeoffs:
TABLE II ______________________________________ Protocol Description ______________________________________ Pure Allows for unsynchronized transmission at any time ALOHA by any node; leads to low delays and a high collision rate. Slotted Random transmission within defined timeslots; ALOHA reduces the period of time during which a trans- mission is vulnerable to collision over Pure ALOHA; 1-persistent Senses whether there is activity on a channel and CSMA waits to transmit until the channel is available; con- tinuously monitors the channel after sensing the channel is busy yielding a probability of 1 (thus, the name 1-persistent) that the node will transmit when the channel is idled. Collisions are possible (even likely) because two nodes may be waiting for a channel at the same time. p-persistent A variation on 1-persistent in which the probability CSMA any given node will transmit when the channel be- comes available is p. This protocol reduces the like- lihood of collisions over a 1-persistent scheme; however, there is also an increase in the average delay before transmission. non- Unlike 1-persistent and p-persistent CSMA, non- persistent persistent CSMA does not continuously sense the CSMA channel after detecting the channel is busy but rather waits a random period of time after sensing the channel is busy before again testing it. This protocol leads to a lower collision rate than 1-persistent CSMA but also leads to longer delays. ______________________________________
Further explanation of the above-mentioned protocols are given with reference to Tanenbaum.
As can be imagined, various characteristics of any given communications network influence design decisions regarding the above-described tradeoffs. For example, in a system in which the average length of a message is relatively long, it may be desirable to minimize the collision rate in order to minimize the need to re-transmit information. Conversely, in a system characterized by relatively short message lengths, it may be desirable to minimize delays at the expense of increasing collisions.
As one object of the present invention, it is desired to describe a system having improved optimization of delay time and collision rate.
As a second object of the present invention, it is desired to describe a system having improved capability for recovery and backoff from collisions on a network medium.
As a third object of the present invention, it is desired to describe a system having an improved prioritization scheme for prioritizing network messages.
In networked systems, it is often desirable to allow one node in the network to multicast a message for receipt by a plurality of other nodes. In certain cases, it may be of relatively insignificant consequence whether the transmitted messages are actually received by all of the desired nodes. In other cases, it may be critical to operation of the network that transmitted messages are received by each intended recipient node.
In certain prior art networked messaging systems, it is known to provide for delivery of a message to a designated group of nodes. However, known prior art networked messaging systems suffer difficulty in managing acknowledgements from multiple nodes in a group. This leads to difficulty in providing for reliable multicast of messages.
As another object of the present invention, it is desired to describe a networked messaging system which provides for reliable multicast of messages.
It is another object of the present invention to describe methods for providing reliable multicast of messages through use of reminder messages and acknowledgement messages.
It is another object of the present invention to describe a networked messaging system which provides for reliable multicast of messages with improved efficiency in the acknowledgement of messages by members of a multicast group.
As will be appreciated by any individual who has configured a network, one difficulty often encountered during configuration of the network involves correctly and accurately assigning and recording the addresses for each node. Further, during maintenance of a highly distributed system, it is often desirable to provide accessibility to identification information identifying a particular node in the network.
It is desired to develop an improved apparatus and method for configuring and maintaining nodes in a network.
These and other aspects of the present invention are disclosed with reference to the Detailed Description of the Preferred Embodiment and to the Figures.